Q: Why did the name of the PCI bridge change from "Bandit" or "Grackle"
to a generic name such as "pci"?
A: Name is a PCI device property that tells the Open Firmware and its client,
say, the Mac OS, the name of a node in the device tree. When the first Macintosh with Open
Firmware (the Power Macintosh 9500) was introduced, the concept of generic names was not part
of the Open Firmware bindings. Apple gave the name of "Bandit" to the PCI bridge.
But what was "Bandit"? No one knew except engineers working on the 9500. This presented
a bad situation, so the concept of generic names was introduced. For a PCI bridge between the
host bus and the PCI bus the generic name was "pci." This presented yet another bad
dilemma: what to do with the devices already in use? If a driver was looking for a node name
of "Bandit," it would not find it since it had been changed to "PCI." So
the compatible property was used to store the old name of "Bandit" while
the name property had the generic name. The boot ROM code was changed to search first
on the name property. If that failed, the next step was to search the
compatible property. A developer should always search using the boot ROM's
algorithm just described.
|